Users who wish to access data stored at a remote location and/or remote computer-implemented services typically do so via a telecommunications network, such as the Internet. In order to transmit and receive data via a telecommunications network, users conventionally subscribe to a telecommunications service provided by a telecommunications service provider. A telecommunications service typically provides access to a wider telecommunications network for a given subscriber client device, a group of subscriber client devices, or a residential or commercial premises network associated with a given subscriber. The service provider network typically performs subscriber authentication and comprises a routing fabric for routing traffic between an authenticated subscriber and the wider telecommunications network. A service provider may comprise a carrier, a mobile network operator (MNO), a wireless network operator or an internet service provider (ISP). Subscriber client devices may include personal computers, laptop computers, mobile telephones (including “smart phones”), tablet computers, personal digital assistants, etc.
FIG. 1A shows a simplified example of a telecommunications network 100. A subscriber client device 102 may initially access a service provider network 104 of the telecommunications network 100, which contains various entities provisioned by the service provider. A service provider network 104 for a carrier or a mobile network operator may comprise at least one of: a Global System for Mobile Communications (GSM) network and a Universal Mobile Telecommunications System (UMTS) network, e.g. implementing one of the Long-Term Evolution (LTE) standards. In certain cases, the service provider network 104 may comprise a radio access network and a core network, e.g. as coupled by one or more service edge components. The radio access network may comprise one or more base stations (such as node base-stations—NBs—or enhanced node base-stations—eNBs). User equipment (such as mobile telephones, so-called smartphones, laptops and tablets, amongst others) may attach to the core network via the radio access network. The core network may comprise a serving gateway, a packet data network gateway and a gateway general packet radio service (GPRS) support node. User equipment may connect to other public packet switched networks, e.g. the Internet, via the core network of the service provider. Service provider entities may be responsible for authentication of subscribers/subscriber client devices, access management, billing, etc. This may be performed in association with a home subscriber server or user profile server function (or an authentication centre for GSM) within the service provider network 104. In this manner, the service provider network 104 typically acts as a gateway between subscriber client device 102 and a wider network 106, such as the public internet. The wider network 106 is, at least in part, used to route data between service provider network 104 and one or more server devices 108.
Telecommunications network 100 may also comprise a number of further network parts (not shown), and a number of border/gateway/caching entities (not shown) used to translate between the various network protocols used in each network part where necessary, cache and serve commonly-accessed data so as to reduce load between network parts, and/or manage access to each network part.
Access to data and/or computer-implemented services via telecommunications network 100 is typically enabled using browser software or other applications (hereinafter “a browser”) on subscriber client device 102. Other applications on subscriber client device 102 may include games or software utilities that also require access to content via telecommunications network 100. For example, some applications accrue revenue by displaying content to their users. Such content is typically regularly updated and hosted at a server device in telecommunications network 100. The application may therefore require access to the server device via telecommunications network 100 in order to obtain up-to-date content to display to its users.
A browser enables subscriber client device 102 to take part in a browser session, which comprises a series of one or more requests and responses made to and received from one or more remote entities, such as server device 108, via telecommunications network 100. A browser may be used to view web pages, obtain files, conduct services such as instant messaging, etc. via telecommunications network 100. Browser session requests and responses typically comprise one or more data packets. Such packetized data is formatted and transported according to one or more network protocols, used in a given part of the network.
In patent publication WO 2013190334, an intermediate network device 110 is introduced into service provider network 104 between subscriber client device 102 and wider network part 106. This is shown in FIG. 1B. Intermediate network device 110 may be physically located in service provider network 104, or logically located in service provider network 104 through the use of, for example, a virtual or backhaul private network, but physically located/hosted elsewhere. Service provider network 104 may be adapted to route browser session traffic between subscriber client device 102 and wider network part 106 via intermediate network device 110.
Intermediate network device 110 may be configured to modify a browser session request or a browser session response. For example, FIG. 2 illustrates the operation of intermediate network device 110 in the context of a browser session taking place between subscriber client device 102 and server device 108. At step 2a, a browser session request is transmitted from subscriber client device 102 into telecommunications network 100. The browser session request of step 2a could comprise a request for a web page, web page element, data file, service, etc. As service provider network 104 is configured to route all browser session traffic via intermediate network device 110, the browser session request is then received at intermediate network device 110 in the service provider network.
Having received the browser session request in step 2a, intermediate network device 110 then processes the received browser session request according to the one or more browser session processing modification rules. As a result of the processing, intermediate network device 110 may modify the received browser session request at step 202. Having processed the browser session request, the processed browser session request is then transmitted, in step 2b, to server device 108.
Upon receipt of the browser session request transmitted in step 2b, server device 108 processes the browser session request in order to generate a corresponding browser session response. At step 2c, server device 108 transmits the generated browser session response into telecommunications network 100, directed at subscriber client device 102. As service provider network 104 is configured to route all browser session traffic via intermediate network device 110, upon entering service provider network 104, the browser session response of step 2c is then received at intermediate network device 110 in service provider network 104.
Having received the browser session request in step 2c, intermediate network device 110 then processes the received browser session response according to the one or more browser session processing modification rules. As a result of the processing, intermediate network device 110 may modify the received browser session response at step 102. Having processed the browser session response, the processed browser session response is then transmitted, in step 2d, to subscriber client device 102.
Some browser sessions may contain a series of multiple browser session requests and browser session responses. This will be the case, for example, if the subscriber browses to multiple web pages consecutively in the given browser session. Often, a series of multiple requests and responses will be required to view a single web page. This is particularly true if different elements of the web page are hosted at different server entities and/or if the web page or service is implemented dynamically, e.g. if HyperText Markup Language (HTML) data is generated in real-time by server device 108 following receipt of a request using one or more server functions. A common example is encountered when a web page includes one or more advertisement elements.
The examples above give an outline of methods and systems for processing browser sessions in a telecommunications network. However, it is an object of the present invention to provide improved methods and systems for communicating over a telecommunications network.